@echo off
cd /d "%~dp0"
chcp 65001

echo 检查并清理已存在的http-server进程...
for /f "tokens=5" %%a in ('netstat -aon ^| find ":8083" ^| find "LISTENING"') do (
    echo 发现端口8083被占用，正在结束进程 %%a
    taskkill /F /PID %%a >nul 2>&1
)

echo 检查 http-server 是否已安装...
call npm list -g http-server >nul 2>&1
if errorlevel 1 (
    echo http-server 未安装，正在安装...
    call npm install -g http-server
) else (
    echo http-server 已安装
)

echo 启动服务器...
echo 可以通过浏览器访问 npm run dev
echo 按 CTRL+C 停止服务器

:: 直接在前台运行服务器，这样 CTRL+C 可以正常工作
http-server . -p 8083 --cors

:: 如果服务器异常退出，确保清理进程
if errorlevel 1 (
    echo 服务器异常退出，正在清理...
    for /f "tokens=5" %%a in ('netstat -aon ^| find ":8083" ^| find "LISTENING"') do (
        taskkill /F /PID %%a >nul 2>&1
    )
) 